GArray *child_infos;
} RenderData;
+static gboolean
+should_propagate_node (GtkWidget *child,
+ RenderData *data)
+{
+ if (!_gtk_widget_is_drawable (child))
+ return FALSE;
+
+ return TRUE;
+}
+
static void
propagate_render_node (GtkWidget *child,
gpointer data_)
GList *siblings;
GdkWindow *window;
+ if (!should_propagate_node (widget, data))
+ return;
+
info.child = widget;
info.window_depth = G_MAXINT;
g_array_append_val (data->child_infos, info);
}
-
void
gtk_container_propagate_render_node (GtkContainer *container,
GskRenderer *renderer,
data.container = container;
data.renderer = renderer;
data.parent = parent_node;
+
data.child_infos = g_array_new (FALSE, TRUE, sizeof (ChildOrderInfo));
gtk_container_forall (container, collect_child_infos, &data);